The present disclosure relates to computer systems, and in particular, to integrating cloud computer systems with backend computer systems.
Cloud computing refers to the practice of using a network of remote servers hosted on the Internet to store, manage, and process data, rather than a local server or a personal computer. One challenge with the adoption of cloud computer systems is that many existing software platforms are often required to interact with software running on a cloud platform. Such existing software running on local servers are often referred to as “legacy systems.” Software systems that include both software running on a cloud platform and software running on a local server are referred to as “hybrid” systems (e.g., both “cloud” and “local”).
Software providers typically want to provide a user with a seamless experience so that the user may not know if software is running in the cloud, locally on a legacy system, or both. Integrating cloud software with legacy software refers to the software mechanisms created to allow a cloud system and legacy or backend system to work together. Unfortunately, cloud software systems and legacy backend systems may be operating in substantially different computing environments using different technologies, different data formats, different process flows, and representing information in different ways, for example. One particular problem pertains to moving data between systems. If a backend system runs queries against a cloud transactional database, the cloud database performance may degrade, which may adversely impact the user experience by slowing down the cloud system. Additionally, when data is moved to a backend system for processing, the cloud system may not know if the backend system encounters errors with the data. Yet further, accessing functionality of the cloud system from the backend may require a large amount of burdensome application program interfaces (APIs), which can be difficult to manage on the backend. These are just a few example challenges. Accordingly, integration of cloud and backend systems is an important challenge facing computer software developers.